package com.cr4y0n.crayonpicturebackend.exception;

import lombok.Getter;

/**
 * 错误码
 *
 * @author cr4y0n
 * @version 1.0.0
 */
@Getter
public enum ErrorCode {

    /**
     * 错误码设计为五位是因为需要跟主流 HTTP响应有一定关联，并对各类错误进行细分，加强扩展性
     * 400 Bad Request
     * 401 未授权
     * 403 被禁止
     * 404 没资源
     * 500 系统错误
     */
    SUCCESS(0, "ok"),
    PARAMS_ERROR(40000, "请求参数错误"),
    NOT_LOGIN_ERROR(40100, "未登录"),
    NO_AUTH_ERROR(40101, "无权限"),
    NOT_FOUND_ERROR(40400, "请求数据不存在"),
    FORBIDDEN_ERROR(40300, "禁止访问"),
    SYSTEM_ERROR(50000, "系统内部异常"),
    OPERATION_ERROR(50001, "操作失败");

    /**
     * 状态码
     */
    private final int code;

    /**
     * 信息
     */
    private final String message;

    ErrorCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

}
